package com.zwd.cases.demo.gof23.component.demo1;

/**
 * @Description ConcreteDecorator就是具体的装饰对象，起到给Component添加职责的功能
 * @Author zhengwd
 * @Date 2023/4/18 23:56
 **/
public class ConcreteDecoratorA extends Decorator {

    /**
     * 本类的独有功能，以区别于ConcreteDecoratorB
     */
    private String addedState;

    /**
     * 首先运行原Component的Operation()，再执行本类的功能，如addedState,相当于对原Component进行了装饰
     */
    @Override
    public void operation() {
        super.operation();
        addedState = "New State";
        System.out.println("具体装饰A的操作");
    }
}
